/*
 * Copyright 2010 Rajendra Patil
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2010.10.21 at 04:29:20 AM GMT+05:30 
//


package com.googlecode.slideshare4j.api.response.generated;

import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * <p>Java class for Slideshow complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="Slideshow">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="ID" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Title" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Status" type="{}conversionStatus"/>
 *         &lt;element name="Username" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="URL" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DownloadUrl" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="ThumbnailURL" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="ThumbnailSmallURL" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Embed" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Created" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="Updated" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="Language" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Format" type="{}slideshowFormat"/>
 *         &lt;element name="Download" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="SlideshowType" type="{}slideshowType"/>
 *         &lt;element name="InContest" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="UserID" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="ExternalAppUserID" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="ExternalAppID" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="PPTLocation" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="StrippedTitle" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Audio" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="NumDownloads" type="{http://www.w3.org/2001/XMLSchema}long"/>
 *         &lt;element name="NumViews" type="{http://www.w3.org/2001/XMLSchema}long"/>
 *         &lt;element name="NumComments" type="{http://www.w3.org/2001/XMLSchema}long"/>
 *         &lt;element name="NumFavorites" type="{http://www.w3.org/2001/XMLSchema}long"/>
 *         &lt;element name="NumSlides" type="{http://www.w3.org/2001/XMLSchema}long"/>
 *         &lt;element name="PrivacyLevel" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="FlagVisible" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="ShowOnSS" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="SecretURL" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="AllowEmbed" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="ShareWithContacts" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="Tags" type="{}Tags"/>
 *         &lt;element name="RelatedSlideshows" type="{}RelatedSlideshows"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Slideshow", namespace="")
@XmlType(name = "Slideshow", propOrder = {
    "id",
    "title",
    "description",
    "status",
    "username",
    "url",
    "downloadUrl",
    "thumbnailURL",
    "thumbnailSmallURL",
    "embed",
    "created",
    "updated",
    "language",
    "format",
    "download",
    "slideshowType",
    "inContest",
    "userID",
    "externalAppUserID",
    "externalAppID",
    "pptLocation",
    "strippedTitle",
    "audio",
    "numDownloads",
    "numViews",
    "numComments",
    "numFavorites",
    "numSlides",
    "privacyLevel",
    "flagVisible",
    "showOnSS",
    "secretURL",
    "allowEmbed",
    "shareWithContacts",
    "tags",
    "relatedSlideshows"
})
public class Slideshow {

    @XmlElement(name = "ID", required = true)
    protected String id;
    @XmlElement(name = "Title", required = true)
    protected String title;
    @XmlElement(name = "Description", required = true)
    protected String description;
    @XmlElement(name = "Status", required = true)
    protected ConversionStatus status;
    @XmlElement(name = "Username", required = true)
    protected String username;
    @XmlElement(name = "URL", required = true)
    protected String url;
    @XmlElement(name = "DownloadUrl", required = true)
    protected String downloadUrl;
    @XmlElement(name = "ThumbnailURL", required = true)
    protected String thumbnailURL;
    @XmlElement(name = "ThumbnailSmallURL", required = true)
    protected String thumbnailSmallURL;
    @XmlElement(name = "Embed", required = true)
    protected String embed;
    @XmlElement(name = "Created", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date created;
    @XmlElement(name = "Updated", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date updated;
    @XmlElement(name = "Language", required = true)
    protected String language;
    @XmlElement(name = "Format", required = true)
    protected SlideshowFormat format;
    @XmlElement(name = "Download", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean download;
    @XmlElement(name = "SlideshowType", required = true)
    protected SlideshowType slideshowType;
    @XmlElement(name = "InContest", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean inContest;
    @XmlElement(name = "UserID", required = true)
    protected String userID;
    @XmlElement(name = "ExternalAppUserID", required = true)
    protected String externalAppUserID;
    @XmlElement(name = "ExternalAppID", required = true)
    protected String externalAppID;
    @XmlElement(name = "PPTLocation", required = true)
    protected String pptLocation;
    @XmlElement(name = "StrippedTitle", required = true)
    protected String strippedTitle;
    @XmlElement(name = "Audio", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean audio;
    @XmlElement(name = "NumDownloads")
    protected long numDownloads;
    @XmlElement(name = "NumViews")
    protected long numViews;
    @XmlElement(name = "NumComments")
    protected long numComments;
    @XmlElement(name = "NumFavorites")
    protected long numFavorites;
    @XmlElement(name = "NumSlides")
    protected long numSlides;
    @XmlElement(name = "PrivacyLevel", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean privacyLevel;
    @XmlElement(name = "FlagVisible", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean flagVisible;
    @XmlElement(name = "ShowOnSS", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean showOnSS;
    @XmlElement(name = "SecretURL", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean secretURL;
    @XmlElement(name = "AllowEmbed", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean allowEmbed;
    @XmlElement(name = "ShareWithContacts", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean shareWithContacts;
    @XmlElement(name = "Tags", required = true)
    protected Tags tags;
    @XmlElement(name = "RelatedSlideshows", required = true)
    protected RelatedSlideshows relatedSlideshows;

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getID() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setID(String value) {
        this.id = value;
    }

    /**
     * Gets the value of the title property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTitle() {
        return title;
    }

    /**
     * Sets the value of the title property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTitle(String value) {
        this.title = value;
    }

    /**
     * Gets the value of the description property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets the value of the description property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDescription(String value) {
        this.description = value;
    }

    /**
     * Gets the value of the status property.
     * 
     * @return
     *     possible object is
     *     {@link ConversionStatus }
     *     
     */
    public ConversionStatus getStatus() {
        return status;
    }

    /**
     * Sets the value of the status property.
     * 
     * @param value
     *     allowed object is
     *     {@link ConversionStatus }
     *     
     */
    public void setStatus(ConversionStatus value) {
        this.status = value;
    }

    /**
     * Gets the value of the username property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUsername() {
        return username;
    }

    /**
     * Sets the value of the username property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUsername(String value) {
        this.username = value;
    }

    /**
     * Gets the value of the url property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getURL() {
        return url;
    }

    /**
     * Sets the value of the url property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setURL(String value) {
        this.url = value;
    }

    /**
     * Gets the value of the downloadUrl property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDownloadUrl() {
        return downloadUrl;
    }

    /**
     * Sets the value of the downloadUrl property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDownloadUrl(String value) {
        this.downloadUrl = value;
    }

    /**
     * Gets the value of the thumbnailURL property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getThumbnailURL() {
        return thumbnailURL;
    }

    /**
     * Sets the value of the thumbnailURL property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setThumbnailURL(String value) {
        this.thumbnailURL = value;
    }

    /**
     * Gets the value of the thumbnailSmallURL property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getThumbnailSmallURL() {
        return thumbnailSmallURL;
    }

    /**
     * Sets the value of the thumbnailSmallURL property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setThumbnailSmallURL(String value) {
        this.thumbnailSmallURL = value;
    }

    /**
     * Gets the value of the embed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEmbed() {
        return embed;
    }

    /**
     * Sets the value of the embed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEmbed(String value) {
        this.embed = value;
    }

    /**
     * Gets the value of the created property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getCreated() {
        return created;
    }

    /**
     * Sets the value of the created property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCreated(Date value) {
        this.created = value;
    }

    /**
     * Gets the value of the updated property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getUpdated() {
        return updated;
    }

    /**
     * Sets the value of the updated property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUpdated(Date value) {
        this.updated = value;
    }

    /**
     * Gets the value of the language property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLanguage() {
        return language;
    }

    /**
     * Sets the value of the language property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLanguage(String value) {
        this.language = value;
    }

    /**
     * Gets the value of the format property.
     * 
     * @return
     *     possible object is
     *     {@link SlideshowFormat }
     *     
     */
    public SlideshowFormat getFormat() {
        return format;
    }

    /**
     * Sets the value of the format property.
     * 
     * @param value
     *     allowed object is
     *     {@link SlideshowFormat }
     *     
     */
    public void setFormat(SlideshowFormat value) {
        this.format = value;
    }

    /**
     * Gets the value of the download property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isDownload() {
        return download;
    }

    /**
     * Sets the value of the download property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDownload(Boolean value) {
        this.download = value;
    }

    /**
     * Gets the value of the slideshowType property.
     * 
     * @return
     *     possible object is
     *     {@link SlideshowType }
     *     
     */
    public SlideshowType getSlideshowType() {
        return slideshowType;
    }

    /**
     * Sets the value of the slideshowType property.
     * 
     * @param value
     *     allowed object is
     *     {@link SlideshowType }
     *     
     */
    public void setSlideshowType(SlideshowType value) {
        this.slideshowType = value;
    }

    /**
     * Gets the value of the inContest property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isInContest() {
        return inContest;
    }

    /**
     * Sets the value of the inContest property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setInContest(Boolean value) {
        this.inContest = value;
    }

    /**
     * Gets the value of the userID property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUserID() {
        return userID;
    }

    /**
     * Sets the value of the userID property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUserID(String value) {
        this.userID = value;
    }

    /**
     * Gets the value of the externalAppUserID property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getExternalAppUserID() {
        return externalAppUserID;
    }

    /**
     * Sets the value of the externalAppUserID property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setExternalAppUserID(String value) {
        this.externalAppUserID = value;
    }

    /**
     * Gets the value of the externalAppID property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getExternalAppID() {
        return externalAppID;
    }

    /**
     * Sets the value of the externalAppID property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setExternalAppID(String value) {
        this.externalAppID = value;
    }

    /**
     * Gets the value of the pptLocation property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPPTLocation() {
        return pptLocation;
    }

    /**
     * Sets the value of the pptLocation property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPPTLocation(String value) {
        this.pptLocation = value;
    }

    /**
     * Gets the value of the strippedTitle property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStrippedTitle() {
        return strippedTitle;
    }

    /**
     * Sets the value of the strippedTitle property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStrippedTitle(String value) {
        this.strippedTitle = value;
    }

    /**
     * Gets the value of the audio property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isAudio() {
        return audio;
    }

    /**
     * Sets the value of the audio property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAudio(Boolean value) {
        this.audio = value;
    }

    /**
     * Gets the value of the numDownloads property.
     * 
     */
    public long getNumDownloads() {
        return numDownloads;
    }

    /**
     * Sets the value of the numDownloads property.
     * 
     */
    public void setNumDownloads(long value) {
        this.numDownloads = value;
    }

    /**
     * Gets the value of the numViews property.
     * 
     */
    public long getNumViews() {
        return numViews;
    }

    /**
     * Sets the value of the numViews property.
     * 
     */
    public void setNumViews(long value) {
        this.numViews = value;
    }

    /**
     * Gets the value of the numComments property.
     * 
     */
    public long getNumComments() {
        return numComments;
    }

    /**
     * Sets the value of the numComments property.
     * 
     */
    public void setNumComments(long value) {
        this.numComments = value;
    }

    /**
     * Gets the value of the numFavorites property.
     * 
     */
    public long getNumFavorites() {
        return numFavorites;
    }

    /**
     * Sets the value of the numFavorites property.
     * 
     */
    public void setNumFavorites(long value) {
        this.numFavorites = value;
    }

    /**
     * Gets the value of the numSlides property.
     * 
     */
    public long getNumSlides() {
        return numSlides;
    }

    /**
     * Sets the value of the numSlides property.
     * 
     */
    public void setNumSlides(long value) {
        this.numSlides = value;
    }

    /**
     * Gets the value of the privacyLevel property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isPrivacyLevel() {
        return privacyLevel;
    }

    /**
     * Sets the value of the privacyLevel property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPrivacyLevel(Boolean value) {
        this.privacyLevel = value;
    }

    /**
     * Gets the value of the flagVisible property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isFlagVisible() {
        return flagVisible;
    }

    /**
     * Sets the value of the flagVisible property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFlagVisible(Boolean value) {
        this.flagVisible = value;
    }

    /**
     * Gets the value of the showOnSS property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isShowOnSS() {
        return showOnSS;
    }

    /**
     * Sets the value of the showOnSS property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setShowOnSS(Boolean value) {
        this.showOnSS = value;
    }

    /**
     * Gets the value of the secretURL property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isSecretURL() {
        return secretURL;
    }

    /**
     * Sets the value of the secretURL property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSecretURL(Boolean value) {
        this.secretURL = value;
    }

    /**
     * Gets the value of the allowEmbed property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isAllowEmbed() {
        return allowEmbed;
    }

    /**
     * Sets the value of the allowEmbed property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAllowEmbed(Boolean value) {
        this.allowEmbed = value;
    }

    /**
     * Gets the value of the shareWithContacts property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isShareWithContacts() {
        return shareWithContacts;
    }

    /**
     * Sets the value of the shareWithContacts property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setShareWithContacts(Boolean value) {
        this.shareWithContacts = value;
    }

    /**
     * Gets the value of the tags property.
     * 
     * @return
     *     possible object is
     *     {@link Tags }
     *     
     */
    public Tags getTags() {
        return tags;
    }

    /**
     * Sets the value of the tags property.
     * 
     * @param value
     *     allowed object is
     *     {@link Tags }
     *     
     */
    public void setTags(Tags value) {
        this.tags = value;
    }

    /**
     * Gets the value of the relatedSlideshows property.
     * 
     * @return
     *     possible object is
     *     {@link RelatedSlideshows }
     *     
     */
    public RelatedSlideshows getRelatedSlideshows() {
        return relatedSlideshows;
    }

    /**
     * Sets the value of the relatedSlideshows property.
     * 
     * @param value
     *     allowed object is
     *     {@link RelatedSlideshows }
     *     
     */
    public void setRelatedSlideshows(RelatedSlideshows value) {
        this.relatedSlideshows = value;
    }

}
